% 1 - ορισμός. Τι είναι το partial evaluation
Diclib.com
Διαδικτυακό λεξικό

Τι (ποιος) είναι partial evaluation - ορισμός

TECHNIQUE FOR PROGRAM OPTIMIZATION
Partial Evaluation; Futamura projection; Partial evaluator; Yoshihiko Futamura

partial evaluation         
<compiler, algorithm> (Or "specialisation") An optimisation technique where the compiler evaluates some subexpressions at compile-time. For example, pow x 0 = 1 pow x n = if even n then pxn2 * pxn2 else x * pow x (n-1) where pxn2 = pow x (n/2) f x = pow x 5 Since n is known we can specialise pow in its second argument and unfold the recursive calls: pow5 x = x * x4 where x4 = x2 * x2 x2 = x * x f x = pow5 x pow5 is known as the residual. We could now also unfold pow5 giving: f x = x * x4 where x4 = x2 * x2 x2 = x * x It is important that the partial evaluation algorithm should terminate. This is not guaranteed in the presence of recursive function definitions. For example, if partial evaluation were applied to the right hand side of the second clause for pow above, it would never terminate because the value of n is not known. Partial evaluation might change the termination properties of the program if, for example, the expression (x * 0) was reduced to 0 it would terminate even if x (and thus x * 0) did not. It may be necessary to reorder an expression to partially evaluate it, e.g. f x y = (x + y) + 1 g z = f 3 z If we rewrite f: f x y = (x + 1) + y then the expression x+1 becomes a constant for the function g and we can say g z = f 3 z = (3 + 1) + z = 4 + z Partial evaluation of built-in functions applied to constant arguments is known as constant folding. See also full laziness. (1999-05-25)
Partial evaluation         
In computing, partial evaluation is a technique for several different types of program optimization by specialization. The most straightforward application is to produce new programs that run faster than the originals while being guaranteed to behave in the same way.
Partial derivative         
DERIVATIVE OF A FUNCTION OF SEVERAL VARIABLES WITH RESPECT TO ONE VARIABLE, WITH THE OTHERS HELD CONSTANT
Partial Derivatives; Partial derivatives; Partial differentiation; Partial derivation; Mixed partial derivatives; Mixed derivatives; Partial Derivative; Mixed partial derivative; Partial differential; Partial symbol; Partial differentiation; Del (∂); Cross derivative
In mathematics, a partial derivative of a function of several variables is its derivative with respect to one of those variables, with the others held constant (as opposed to the total derivative, in which all variables are allowed to vary). Partial derivatives are used in vector calculus and differential geometry.

Βικιπαίδεια

Partial evaluation

In computing, partial evaluation is a technique for several different types of program optimization by specialization. The most straightforward application is to produce new programs that run faster than the originals while being guaranteed to behave in the same way.

A computer program prog is seen as a mapping of input data into output data:

p r o g : I static × I dynamic O , {\displaystyle prog:I_{\text{static}}\times I_{\text{dynamic}}\to O,}

where I static {\displaystyle I_{\text{static}}} , the static data, is the part of the input data known at compile time.

The partial evaluator transforms p r o g , I static {\displaystyle \langle prog,I_{\text{static}}\rangle } into p r o g : I dynamic O {\displaystyle prog^{*}:I_{\text{dynamic}}\to O} by precomputing all static input at compile time. p r o g {\displaystyle prog^{*}} is called the "residual program" and should run more efficiently than the original program. The act of partial evaluation is said to "residualize" p r o g {\displaystyle prog} to p r o g {\displaystyle prog^{*}} .